home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / DA2WAV1G.ZIP / CDDA.DOC next >
Text File  |  1994-10-25  |  35KB  |  747 lines

  1.  
  2.  
  3.  
  4. CDDA Version 1.0g - This is the fourth public release of CDDA.
  5.  
  6. **** NOTE ****
  7.  Release 1.0g may very well be the last update of CDDA.  My free
  8. time for working on this is just about gone.  Unless I hear about
  9. a major bug which can be easily fixed, or someone sends me new
  10. programming information for a drive, I don't expect there will be
  11. any new versions soon.
  12.  
  13. CDDA - What is it?
  14. ------------------
  15.  
  16. In February 1993, I needed to get some audio samples into digital
  17. form on my PC.  Toshiba had just released the 3401 CDROM drive
  18. which allowed reading of DA frames across the SCSI bus.  Because
  19. there were no programs available to do this, I had to write my
  20. own.  I used it to get the samples, and then left it alone because
  21. I had no idea anyone else wanted to do this.  Some months later
  22. CDGRAB came out, but they wanted much too much money for their
  23. program, so I cleaned up the program and released it as CDDA09A.ZIP.
  24.  
  25. Note:
  26. Some time later I heard from a very irate person who told me I
  27. couldn't use the name CDDAxxx.zip because he was already using
  28. the name.  I've looked everywhere, used ARCHIE, and asked people
  29. who seem to know every program on the net, and no one has seen
  30. this guy's program.  However, in the interest of keeping peace on
  31. the net, I have changed the distribution file name to DA2WAV1G.ZIP.
  32. The program itself will still be called CDDA.
  33.  
  34. The first release fully supported the Toshiba 3401 CD-ROM drive.  I have
  35. since added Sony, NEC, Chinon, Plextor, Panasonic, Teac, Hitachi and
  36. MSCDEX only. Unfortunately I don't have a Sony/NEC or drivers that
  37. allow the MSCDEX part to work.  I have given prerelease versions of
  38. my program to people who have to some degree had success with other
  39. drives.  I have no guarantees that this program will work with your drive.
  40.  
  41. Since the release of 1.0a I have heard from people who were having
  42. trouble with the NEC 74-1/84-1 drives.  So, I went out and borrowed
  43. one for a few days.  To my surprise the 84-1 didn't work.  The next
  44. thing I did was get the data sheets for the drive sent to me from
  45. the NEC faxback.  There is no mention of being able to read DA frames
  46. on that data sheet.  Next, I reread the NEC programming manual.  It
  47. says about the 74-1/84-1 drives "Read CD-DA is under consideration of
  48. content in the SCSI support commnds".  This suggests that it may
  49. or may not be supported.  Next I called NEC tech support.  They told
  50. me that "reading digital audio through the SCSI port is NOT supported
  51. on the 74-1/84-1 drives.  It is supported on the 3x and 4x drives."
  52. So, for the time being, I will leave in the code to support the 74-1/84-1
  53. drives.  If I don't hear from someone who gets it to work in the
  54. next while, I will remove the support and mention it in this file. I have
  55. also heard from someone who has a NEC 211 drive.  I have no idea what
  56. this drive is other than it is a 2X drive.  This person has had good
  57. success running CDDA.  I have also heard from someone with NEC 210 who
  58. has not had success.  If anyone knows more about programming for NEC
  59. drives please let me know.
  60.  
  61. Different ROM revisions cause the drives to do things differently.  One
  62. version may work just fine and others might not.  It is very tough for
  63. me to help with drives that don't work, when I don't have one of
  64. those drives to work with.  If your drive revision is on the bad list,
  65. I don't know what to tell you.  Perhaps you can make a really big
  66. stink with the manufacturer and have them upgrade your rom.
  67. Here is a list of known good and bad rom revisions.  I will add to this
  68. list as I receive reports from the field.
  69.  
  70. good                  bad
  71. ----                  ---
  72. Sony 561 rev 1.9a     Sony 561 rev 1.7x
  73.                       Sony 561 rev 1.8f
  74. Toshiba rev 0283      Toshiba rev 2732
  75.                       Toshiba rev 3593
  76. NEC 211 rev 1.0       NEC 84-1 rev 1.0
  77.  
  78. Because the Toshiba/Sony/etc. drives need proprietary SCSI commands
  79. to read the audio sectors, I chose to talk to the drive through the ASPI
  80. interface.  I hope that most people with SCSI drives have gone the
  81. ASPI route.
  82.  
  83. What drives support DA?
  84. -----------------------
  85.  
  86. I have heard from many different people who say such-and-such drive
  87. will read DA frames.  The following is a list of which drives which
  88. I understand have the ability to read DA frames: (thanks to
  89. bwilliam@iat.holonet.net for starting this list)
  90.  
  91. Apple 300, 300i, 300e (Sony CDU-8003, CDU-8003A)
  92. Apple CD300+
  93. Chinon CDS-535
  94. NEC CDR 200, 300, 400, 500, 600, 900 series
  95. NEC CDR 84-1/74-1 (with special firmware) (yet to be verified)
  96. Panasonic CR-562B/563B
  97. Plextor (formerly TEXEL) DM-3028, DM-5028
  98. Sony CDU-561, CDU-31A, CDU-33A, CDU-55S
  99. Toshiba XM3301 (Silicon Graphics)
  100. Toshiba XM3401, XM4101, XM3501
  101. Teac 4x
  102. Hitachi
  103. Matshita (Panasonic) 503
  104.  
  105. You may want to run CDROMINF.EXE and have a look at the output.  If
  106. there no mention of being able to read RAW frames, and/or the
  107. RAW READ SIZE is not 2352, there is no chance that CDDA will work
  108. using the MSCDEX interface.  Also, if it reports that your drive
  109. supports reading RAW, that DOES NOT mean that CDDA will work.  It
  110. all depends upon the person who wrote the driver for your drive.  If
  111. he/she passes DA frames to MSCDEX, you're laughing.  Otherwise,
  112. you're out of luck.
  113.  
  114. There are rumors that the Mitsumi LU055 drive will work using the
  115. MSCDEX interface, but I have yet to hear specifically what version
  116. drive, and what version driver works.
  117.  
  118. If you know or think you know of other drives, let me know and I will
  119. do some investigating.
  120.  
  121. How do I use this program?
  122. --------------------------
  123.  
  124. This is a command line utility which allows the user to specify the start
  125. and end points of the data transfer and the output type.  The start and
  126. end points may be entered in one of three modes,: LBA, MSF and track.
  127. Logical Block Address mode is the number of the frame from the start of
  128. the disc. Minute, Second, Frame mode specifies the time from the start
  129. of the disc in actual time.  Track mode allows you to dump an entire track
  130. (or song) to disk.  The LBA and MSF are related by the following formula:
  131.     LBA = Minutes * 60 * 75 + Seconds * 75 + Frames - 150
  132. The lead in track is usually 150 because there are usually 2 empty
  133. seconds at the start of a CD, but it can also be any number +- 75 frames
  134. from 150.  A commmon number other than 150 is often 182 or 183.
  135. The Toshiba, NEC and MSCDEX programming manuals define the LBA equation
  136. to be as above with -150 at the end.  The Sony manual is very vague,
  137. and it could be interpreted as either -150 or as -(lead in track).
  138. Since two of the three manuals say clearly -150, I have chosen
  139. -150 for the Sony as well.  I managed to do a fair bit of testing on
  140. a Sony 561 drive, and it appears that the -150 figure is correct.
  141. If anyone has more precise information on the Sony please pass it along.
  142.  
  143. The /ID option allows you to manually set the SCSI ID of the CDROM
  144. drive you want to use.  This is useful if my software incorrectly
  145. guesses your drive's ID, or if you have more than one CDROM drive
  146. in your system.
  147.  
  148. The /MSC option allows you to manually set the MSCDEX drive letter of
  149. the CDROM drive you want to use.  This is useful if my software incorrectly
  150. guesses your drive's ID, or if you have more than one CDROM drive
  151. in your system.  This option does not force the software into
  152. the /M option.
  153.  
  154. The /M option forces the software to use only MSCDEX commands.  This
  155. may or may not work with your drive.  If you don't have a SCSI CDROM
  156. drive with ASPI drivers, this is your only hope.  This option would
  157. be used with the Panasonic CR-562/563, Sony CDU-31A/33A drives.
  158.  
  159. The /NJC option forces the software to not do any jitter correction
  160. to the data read from the CD.  This means that the program will run
  161. faster, but that the files created cannot be guaranteed to be 100%
  162. perfect copies.
  163.  
  164. For the options /S /E /F which expect a following parameter, remember that
  165. there needs to be a space between the letter and the parameter.  ie if you
  166. enter /S01:10:10, it would come up as an error, but if you entered
  167. /S 01:10:10, it would be correct.  For the MSF mode, there need to
  168. be 2 digits for each of minutes, seconds and frames or it will come up as
  169. an error.  When entering the filename with the /F, don't include an
  170. extension, as the software automagically adds the extension for you.
  171.  
  172. At present there are only two file formats supported, WAVE and Binary.
  173. There is also the option to dump the data in HEX format out to the
  174. STDOUT device.
  175.  
  176. The binary format has the samples stored in the order Left LSB, Left MSB,
  177. Right LSB, Right MSB.  The samples are 16 bit 44.1 KHz stereo.
  178.  
  179. I am not expecting to add options to output files in 8-bit or 22.05 KHz.
  180. This is not as simple as just throwing away samples, as this causes
  181. aliasing in the output files.  Correcting this is way beyond the
  182. scope of this program.
  183.  
  184. I am not planning to add many more formats because there
  185. are plenty of other programs out there that will do the conversions much
  186. better than I can.  Besides, the whole purpose of this program was to
  187. get the raw data out to the hard disk, not duplicate SOX.
  188.  
  189. On every CD there is a bit which defines if copying a particular track is
  190. permitted or prohibited.  CDDA checks this bit and will not continue
  191. with the dump to disk.  I have included an override option /O which forces
  192. the user to explicitly specify and to knowingly copy a copy prohibited
  193. song.  Have look at the file ROYALTY included in this distribution,
  194. which was honourably pinched from the program CDGRAB.  It is a list
  195. of most country's contacts for paying royalties.
  196.  
  197. One thing to remember is that this audio fills up the hard disk fast.  It
  198. takes between 9 and 10 megabytes per minute of music.  Because of this I
  199. put in a check to make sure that you will have enough space to put the
  200. requested samples.  As well there is the /U option which will give you
  201. an estimate of how much disk space will be used without actually dumping
  202. the data to disk.
  203.  
  204. Examples
  205. --------
  206.  
  207. CDDA /MSF /S 10:14:36 /E 13:55:11 /F outfile /W
  208. will dump using MSF mode from 10:14:36 to 13:55:11 to a WAV file
  209.  
  210. CDDA /LBA /S 106232 /E 109443 /F outfile /B
  211. will dump using MSF mode from 106232 to 109443 to a Binary file
  212.  
  213. CDDA /T 2 /F outfile /W /O
  214. will dump the entire track 2 to a WAV file with the override mode on
  215.  
  216. CDDA /T 2 /U
  217. will display the estimated disk space for all of track 2
  218.  
  219. CDDA /T 2 /H
  220. will dump the entire track 2 in HEX to STDOUT
  221.  
  222. CDDA /T 2 /M /F outfile /W /O
  223. will dump the entire track 2 using MSCDEX interface only
  224.  
  225. CDDA /T 2 /MSC G /ID 4 /F outfile /W /O
  226. will dump the entire track 2 from MSCDEX drive G, SCSI ID 4 CDROM drive
  227.  
  228.  
  229. What is this jitter business?
  230. -----------------------------
  231.  
  232. The following is a post made over a year and a half ago which discusses
  233. the technical reason for a CDROM drives difficulty in accurately
  234. positioning itself on an audio CD.
  235.  
  236.  
  237. --------------------------------------------------------------------------
  238. Newsgroups: alt.cd-rom,aus.cdrom
  239. From: adrie@ica.philips.nl (Adrie Koolen)
  240. Subject: Re: Reading Audio CDs - Why is it so complicated?
  241. Keywords: cd, cd-rom, cdrom, audio, sampling, naivety
  242. Organization: Philips Consumer Electronics, Eindhoven, The Netherlands
  243. Date: Fri, 19 Feb 1993 08:23:53 GMT
  244. Lines: 63
  245.  
  246. In article <C2nqFC.5Ew@smsc.sony.com> dce@smsc.sony.com (David Elliott) writes:
  247. >In article <1993Feb17.213223.24058@isa.de>, schwarz@isa.de (Diemo Schwarz) writes:
  248. >|> What I don't understand is: 
  249. >|> Why should it be so difficult to extract pure audio data from a CD?
  250. >
  251. >It isn't.  The problem is that the SCSI controllers in most CD-ROM
  252. >drives simply don't support it.
  253. >
  254. >|> The medium is structured by tracks and indices, isn't it?
  255. >
  256. >Yes.
  257.  
  258. Note that the `tracks' on a CD aren't layed out like tracks on a hard disk.
  259. The track and index are just numbers that are stored with each sector on
  260. the CD (in the Q-subchannel packet). The start address of a track is stored
  261. in the Table Of Contents on the CD, indices are not. Indices are normally
  262. not used, except index 0 for the 2 seconds pause at the start of each
  263. track.
  264.  
  265. The REAL structure of the CD medium is a large continuous spiral, starting
  266. at the center of the CD (at 46mm diameter). Finding a specific sector is
  267. not as trivial as it is on a hard disk. You'll have to employ a kind of
  268. binary search algorithm. Finding the start position of a specific index
  269. is even more difficult as you don't even know where it starts.
  270.  
  271. >|> And every CD player somehow manages to ship the data from the disc to
  272. >|> the D/A converter, doesn't it?
  273.  
  274. But at the DAC, they don't know which sector the sample came from or what
  275. the relative position the sample takes in a sector.
  276.  
  277. >|> So, what's the difference between reading data CDs and music CDs?
  278. >
  279. >The format of the data, to put it simply.
  280.  
  281. Well, most decoders used in audio CD players, output a stream of samples
  282. and sub-channel data, mostly used for their time code. As the decoder has
  283. to adjust the spindle speed, it uses a FIFO to store the data. If the
  284. FIFO fills up, the spindle motor is slowed down, if it gets empty, the
  285. motor is sped up. The sub-channel data normally doesn't pass through the
  286. FIFO, but goes directly to a microcontroller. That way, the microcontroller
  287. can't be sure that it knows the exact address of the data, coming out of
  288. the FIFO.
  289.  
  290. To circumvent this problem, the address of a sector is also stored in the
  291. data itself, together with a 12 bytes sync pattern. This way, one can
  292. determine the starting of a sector and its address just by looking at the
  293. data coming out of the FIFO.
  294.  
  295. Here's the real problem: audio sectors don't have this sync pattern, nor
  296. the address of the sector, in the data area of a sector. Most CDROM drives
  297. use chips that are coming from audio players. The first CDROM drives were
  298. just modified audio CD players.
  299.  
  300. To read audio sectors on a CDROM drive, you'll need a special decoder or
  301. you'll need to connect a standard decoder with some custom hardware to
  302. generate pulses to indicate the start of a sector and to synchronize the
  303. sub-channel packets with the real 2352 bytes of data.
  304.  
  305. I hope that this explains it a bit.
  306.  
  307. Adrie Koolen (adrie@ica.philips.nl)
  308. Philips Consumer Electronics, Eindhoven, the Netherlands
  309. --------------------------------------------------------------------------
  310.  
  311.  
  312. Because of this, most every CDROM drive that can read DA frames cannot
  313. accurately return to the exact same location on the disc every time.
  314. It will usually return within a few samples either way.  It took
  315. a lot of time and thought to write the code to correct for the
  316. "jitter" efficiently.  My first try brought the transfer rate
  317. to a crawl.  I have been refining the process to the point that
  318. it barely has any computing overhead, but still I have to read most
  319. every frame twice.  I am still working on getting this to work
  320. faster.  Some people have reported an 8x slowdown from 0.9a to
  321. 1.0a.  I have no explaination for that large a difference.  
  322. It is nowhere near that large on my machine, as I see only about 3x.
  323. I do agree that it is still much too slow. I have made a number of
  324. improvements in 1.0e and 1.0g that help with this slow down including making
  325. the receive buffer as large as possible (64K) when using real mode drivers
  326. like ASPI and MSCDEX.  I have also added the /NJC option for those who
  327. cannot wait for their files to be created, or for those whose drives
  328. are generating "Jitter greater than 5 frames" errors.  This error
  329. means that the software has become lost on the CD because the drive
  330. was unable to return to within 5 frames of its last postion.
  331.  
  332.  
  333.  
  334. What kind of help is there?
  335. ---------------------------
  336.  
  337. There is very limited help from the command line for CDDA.  You can get
  338. the "USAGE" by just typing CDDA.e.g.:
  339.  
  340. C:>CDDA
  341.  
  342. Usage: CDDA /(mode) [/U,H,B,W,M] [O] /S <start> /E <end> /F filename
  343.            [/ID <cd-rom scsi id>][/MSC <mscdex drive letter>].
  344. modes are LBA, MSF, T
  345. /MSF - times in minute, second, frame format (MM:SS:FF)
  346. /LBA - times in Logical Block Address format (xxxxxx)
  347. /T   - send whole track to file
  348. /S   - Start time
  349. /E   - End time
  350. /U   - estimated disk usage required for data
  351. /H   - hex dump of sectors to stdout
  352. /B   - write to file in Binary format
  353. /W   - write to file in WAV format
  354. /O   - override copy protection bit
  355. /M   - override ASPI interface and use MSCDEX
  356. /NJC - turn off jitter correction
  357. /MSC - override MSCDEX find first CD-ROM
  358. /ID  - override ASPI find first CD-ROM
  359. Binary mode extension CDA will automagically added to the filename
  360. Wave format extension WAV will automagically added to the filename
  361. e.g. CDDA /MSF /S 10:14:36 /E 13:55:11 /F outfile /W
  362. e.g. CDDA /LBA /S 106232 /E 109443 /F outfile /B
  363. e.g. CDDA /T 2 /F outfile /W /O
  364.  
  365.  
  366. Copying and Registration (does he mean this costs $$$?)
  367. -------------------------------------------------------
  368.  
  369. I am allowing full freedom to copy this program.
  370. It IS a fully functional version.
  371. It is NOT Crippleware!
  372. There is NOT a pro version available for an unreasonable sum of money.
  373. I'm NOT asking for $ to register this program.
  374.  
  375. What I am asking is, that if you use this program to let me know (via EMAIL,
  376. snail mail, Carrier Pigeon etc.), AND if your karma so directs you to make
  377. a small donation to a local charity.  So far since the first release in
  378. late '93, only a couple people have shown they have good karma.  I guess
  379. this makes a rather sad statement about society.
  380.  
  381. I would also like to try and keep all the files together and unchanged
  382. in the archive, so if you are passing this around don't change the files.
  383. In this distribution the files contained are:
  384.  
  385. CDDA.EXE - the program itself
  386. CDDA.DOC - this document file
  387. ROYALTY - the list of people to whom you should pay royalties
  388. CDROMINF.EXE - the MSCDEX exerciser program
  389. CDROMINF.DOC - the text file describing CDROMINF
  390. MSCTEST.EXE - the test program for MSCDEX only access reading DA
  391. TOSHTEST.EXE - the test program for TOSHIBA drives reading DA
  392. TOSH_RST.EXE - the program to reset TOSHIBA drives after fatal errors
  393. NECTEST.EXE - the test program for NEC drives reading DA
  394. SONYTEST.EXE - the test program for SONY drives reading DA
  395. CHINTEST.EXE - the test program for CHINON drives reading DA
  396. PLEXTEST.EXE - the test program for PLEXTOR drives reading DA
  397. SCSIPING.EXE - the program which uses ASPI to search for SCSI drives
  398.  
  399. If you are one of those Shareware houses, I don't want to see this program
  400. available for $6.99 plus shipping and handling.  I don't like seeing
  401. the average Joe getting burned for a 10 cent disk, 1 cent label and 2 cents
  402. worth of labour to make the disk, especially when he can get 600+ Meg
  403. of really good stuff from something like the Simtel CD for $25 (thanks to
  404. Robert Bruce for starting the cheap archive business).
  405.  
  406.  
  407. How to get hold of me
  408. ---------------------
  409. If you want to mail me about problems or to tell me I'm going to rot in
  410. HE double hockey sticks for helping to copy music, put your message in
  411. a file and copy it to the NUL device. :>
  412.  
  413. If you want to make suggestions or want to send compliments you can contact
  414. me at the address below.
  415.  
  416. If you encounter trouble with the program CDDA, try and run the included
  417. test program most suited to your drive.  There are four test programs:
  418. one for each of the Toshiba, Sony and NEC type drives, and one which
  419. is a MSCDEX only version.  These programs are scaled down versions of
  420. CDDA and use the command line to specify the drive letter and ID.
  421. The programs TOSHTEST, SONYTEST and NEC test take a single command
  422. line argument.  It is -n, where n is the SCSI id of the drive.
  423. eg. c:>toshtest -3
  424. This will run TOSHTEST on the SCSI drive id 3.
  425.  
  426. There is also the program SCSIPING.  It searchs for are reports all devices
  427. connected to the SCSI controller.  It uses the ASPI interface.
  428.  
  429. Finally there is a new program called TOSH_RST.  It is used to reset
  430. a Toshiba drive after CDDA has stopped with a fatal error.  It uses
  431. the same command line argument as the TOSHTEST program.
  432.  
  433.  
  434. If you would like assistance in solving problems, please include all
  435. dumps from all the related programs.  You should be able to
  436. run the programs like this and get the dumps in a text file:
  437. CDDA /T 2 /W /O /F testfile >dumpfile.txt
  438.  
  439. I have real difficulty in tracking down problems without these
  440. dumps.  In the past the majority of people asking for help just send
  441. along a short note telling me my program doesn't work, and what
  442. they remember the error messages saying.  This just doesn't cut it.
  443. I have to have the dumps to help.
  444.  
  445. The bottom line - RTFM before writing me.  Also read the alt.cd-rom
  446. FAQ.  many of your questions can be answered by reading.
  447. EMAIL: jmclaugh@bnr.ca
  448.  
  449. Snail Mail:
  450.        Jim McLaughlin
  451.        449 Viewmount Dr.
  452.        Nepean, Ont.
  453.        Canada
  454.        K2E 7P1
  455.  
  456.  
  457. Things on my wish list of new functions
  458. ---------------------------------------
  459.  
  460. I want to add support for other CDROM drives that can read DA sectors
  461. over the SCSI, but I don't have access to these drives.  If someone could
  462. supply me with the programming information, I could try and do up a new
  463. version of CDDA, if I ever get some spare time.
  464.  
  465. Aren't there other programs which do the same thing?
  466. ----------------------------------------------------
  467.  
  468. Yes.  There are several other programs out there which do some or all
  469. of what CDDA does.  In the spirit of the Internet, here are all (I think)
  470. the other programs which read DA frames.
  471.  
  472. CDDA.ZIP - ftp.cdrom.com - contact: jmclaugh@bnr.ca (my old version)
  473. DA2WAV1A.ZIP - ftp.cdrom.com contact: jmclaugh@bnr.ca (my new version)
  474. CDGRAB32.ZIP - ftp.cdrom.com - contact: cdgrab@aldigital.algroup.com
  475. CDAR010.ZIP - wuarchive.wustl.edu - contact: rhofboer@knoware.nl
  476. NECTOWAV.ZIP - ftp.cdrom.com - contact: zerucha@shell.portal.com
  477. CDINFO12.ZIP - archive.utoronto.edu - contact: hpverwei@cs.ruu.nl
  478. CDDAREAD.ZIP - archive.utoronto.edu - contact: ap@jyu.fi
  479. ??????.??? - posted to alt.cd-rom - contact yenchee@Jupiter.cdie.nctu.edu.tw
  480. CDDA2WAV.ZIP - ftp.cdrom.com - contact: heiko@colossus.escape.de
  481. READCDA.ZIP - ftp.cdrom.com - contact: hst@mh.nl
  482.  
  483. Questions I have received since the release of 0.9a and 1.0a
  484. ------------------------------------------------------------
  485.  
  486. Why is the program so slow?
  487. This program is so slow because of the following:
  488. 1. My poor programming skills.
  489. 2. Many of the CDROM drives only read DA frames in 1X mode even though
  490.    they may transfer data at 2X or 3X.
  491. 3. The amount of computing to do jitter correction.
  492. 4. Reordering the bytes from the CD to the WAV file.
  493. 5. Having to read 16 frames for every 10 actually written to disk to
  494.    allow for up to three frames of jitter.
  495. 6. When there is more than three frames of jitter, I slightly shift
  496.    the aim of the search and reread the problem frames.
  497. 7. My Toshiba seems to have a majic number of 10 frames, that if I
  498.    read more than that at a time it takes 2-3 times longer than
  499.    reading in bunches of 10 or less.  I don't understand it.  Since I
  500.    have to read ahead 4 frames and behind 4 frames every time I read
  501.    a block from the drive to correct for jitter, I can't very well
  502.    keep my reads under 11 frames.  Other drives may have similar
  503.    thresholds.
  504.  
  505.  
  506. What is ASPI?
  507. ASPI stands for Advanced SCSI Programming Interface.  It was developed
  508. by Adaptec, and has been adopted by many SCSI card manufacturers as
  509. a standard SCSI programming interface.  If you want more information
  510. on ASPI call Adaptec (408) 945-8600.
  511.  
  512. When I use /T, the start and ends of the track are a couple of
  513. seconds away from where I think they should be.  Why is this?
  514. In version 0.9a, there was a deep rooted bug which caused this.  I
  515. have fixed it (I hope), and this should no longer be a problem.
  516.  
  517. When I play back my samples, why are there pops and clicks?
  518. These pops and clicks can come from two places:
  519. 1. version 0.9a did NOT handle the jitter problem, it is handled now.
  520. 2. your sound card can't handle 16-bit 44.1 KHz samples.  Try using SOX
  521.    or a similar program to change the sample to 22.05 or 11.025 KHz
  522.    samples and try again.
  523.  
  524. The program stops with the error xxx.  What is wrong?
  525. The 0.9a release had very limited error reporting.  I thought that
  526. if it worked on my machine it work on everybody's.  This version
  527. has much more error reporting.  As I understand it, CDDA will
  528. not necessarily work correctly if SMARTDRV is installed.  This has
  529. been the source of a lot of trouble.  As well some people have been
  530. having trouble using CDDA in a DOS window in Windows.  I think
  531. there may be a problem when being used with a DPMI manager installed.
  532. So, the bottom line is DON'T run CDDA under Windows.
  533.  
  534. When will you release an OS/2 version?
  535. I have no interest in writing a version for OS/2. Period.  However,
  536. There is a program from Adaptec called VASPI, which will allow
  537. you to run CDDA in a DOS window.  I got the following email with
  538. the how-to for OS/2 from Stefan Eichner (Stefan-Eichner@k2.maus.de):
  539.  
  540. > 1. Your CONFIG.SYS has to include the follow lines:
  541. > [...]
  542. > BASEDEV=TMV1SCSI.ADD
  543. > BASEDEV=OS2ASPI.DMD
  544. > REM DEVICE=C:\OS2\OS2CDROM.DMD /Q
  545. > E=C:\OS2\MDOS\VASPI.SYS
  546. > [...]
  547. > !If no OS2CDROM.DMD is loaded you can't read Data-CDs!
  548. >
  549. > 2. Add to the autoexec.bat the start-comand for MSCDEX2.EXE
  550. > (e.g. C:\MSCDEX2.EXE /D:MSCD001 /L:H /m:10 /v)
  551. >
  552. > 3. Change the settings of the DOS-Session on the WPS:
  553. > DOS_DEVICE=C:\TSLRCDR.SYS /d:mscd001 /p:3
  554. >
  555. > Now CDDA works great!!!
  556. VASPIBET.ZIP is available from ftp.cdrom.com
  557.  
  558. When will you release a Windows version?
  559. I have no interest in writing a Windows version.  I don't have the time,
  560. and I don't think Windows is a particularly good OS (if you can call
  561. it an OS).  I have had a couple of offers to help, but I have been
  562. too busy with the rest of my life to work on it.  Don't hold your
  563. breath.
  564.  
  565. When will you release a UNIX version?
  566. Never.  Although I run LINUX on my machine, I have no interest in
  567. rewriting CDDA.
  568.  
  569. When will you be writing a version for my CDROM drive?
  570. Getting the programming information from CDROM drive manufacturers is
  571. like pulling teeth.  I've been hunting for this stuff for almost two
  572. years, and have only managed to get the programming manuals for
  573. Toshiba, Chinon and Sony.  If you have a drive and it does support DA frames,
  574. I need the programming manual.  I also need about 5 or 6 extra hours
  575. in each day.
  576.  
  577. I have a Toshiba drive.  Why doesn't your program work?
  578. It appears that different ROM revisions cause the drives to work
  579. differently.  For instance, my Toshiba 3401 is revision 0283.  I have
  580. heard from people who have ROMs older and newer that can't use
  581. my program.  I have also heard that Toshiba has changed the programming
  582. interface on newer drives, but it is not reflected in their SCSI
  583. programming manual.  I just don't know what is wrong.
  584.  
  585. Why doesn't your program work with my ASPI driver?
  586. Several vendors supply ASPI drivers for their SCSI cards.  However,
  587. all drivers are not created equal.  I have heard from people who
  588. have had trouble with just about every SCSI card on the planet.  I
  589. only have Adaptec's EZSCSI to do my testing.  I'll try and do my
  590. best on case by case basis, but I really don't have any spare time.
  591.  
  592. CDROMINF works on my machine, so why doesn't CDDA?
  593. CDROMINF only uses MSCDEX calls, and CDDA also uses ASPI calls.  It
  594. is these ASPI calls that do the meat of the program.  If ASPI isn't
  595. on your machine, or doesn't work correctly, then CDDA will never work.
  596. Your only other choice is to try the /M option and use only
  597. MSCDEX commands.  This is unlikely to help any SCSI drive owners.
  598. Before writing me and asking for your drive to be supported, do a
  599. little legwork first.  Call the manufacturer and ask for the programming
  600. information.  Second, run all the test programs included with this
  601. release.  These programs don't check for the drive type before trying
  602. to read DA frames.  If any of these pass, let me know and I can
  603. add your drive based on the programming information of an existing
  604. drive.  It has happened before, so it might happen again.
  605.  
  606.  
  607. Why is there tons of zeros at the beginning and end of my track?
  608. Most every audio track has some silence at the beginning and
  609. end.  This silence is actually digital silence which is all
  610. zeros for the samples.
  611.  
  612. Can I use CDDA to read from DAT drives?
  613. As far as I know there are only a couple of DAT drives out there
  614. that allow reading of digital audio through SCSI.  In theory, I could
  615. add that feature to CDDA, but since I don't have one of those drive,
  616. and I don't have the programming manuals either, I seems very unlikely
  617. that this will ever happen.
  618.  
  619. Sometimes CDDA doesn't work when I first put in a CD. Why?
  620. I don't know.  Some people have reported that CDDA works better after
  621. a new CD is put in the drive if you use some other utility to play and
  622. then stop the CD.  This seems to force some sanity into some drivers.
  623.  
  624. Can you change CDDA to read the song titles from my audio CD?
  625. There are no song titles recorded on an audio CD.  The following
  626. is a post which explains this better than I can.
  627.  
  628.  
  629. ----------------------------------------------------------------------------
  630. From: dplatt@ntg.com (Dave Platt)
  631. Newsgroups: alt.cd-rom
  632. Subject: Re: Ascii Track data on Audio CDs
  633. Keywords: Audio CD Ascii Track
  634. Date: 23 Feb 93 19:16:03 GMT
  635. Organization: New Technologies Group, Inc.  Palo Alto CA
  636. Lines: 41
  637.  
  638. >A friend told me that encoded on Audio CDs are the track titles, CD title,
  639. >credits and even a bitmap image of the cover art.  Can anyone confirm or 
  640. >deny this?  If it is true, how does a programmer get to this information?
  641.  
  642. In general, this is _not_ true.
  643.  
  644. The disc table-of-contents has information about the total disc length,
  645. number of tracks, and the starting time of each track.  It has no room
  646. for human-readable text and there is no provision in the standards for
  647. such, as far as I've ever been able to find out.
  648.  
  649. The audio tracks have "subcode" information associated with each frame
  650. (75 frames per second).  The P subcode bit is used for primitive
  651. track-signalling flags, and is rarely interpreted by modern CD players.
  652. The Q subcode contains some useful information: control (type,
  653. preemphasis, and copy-protect fields), address information, index
  654. numbers, and sometimes the disc catalog/barcode number or the ISRC code
  655. (serial number, country, year, owner ID) of the recording.  Still, no
  656. room for text or artwork.
  657.  
  658. The R,S,T,U,V,W bits in the subcode can be used in a variety of ways.
  659. The most popular de facto standard is for CD+G graphics.  These provide
  660. a sort of slow-scan video (288x192 pixels, max of 4096 colors using an
  661. encoded color lookup table).  The CD+G graphics can include almost
  662. anything... lyrics, still photos from concert footage, and copies of the
  663. cover artwork are all quite possible and have been done.
  664.  
  665. Only a relatively small percentage of audio CDs have CD+G graphics.
  666.  
  667. Some CD players have a "subcode out" jack which can be fed to an
  668. external decoder.
  669.  
  670. Some CD-ROM drives allow the subcode data to be read over the SCSI (or
  671. other) communication bus while the drive is playing audio CDs through
  672. its built-in DACs.  Some [fewer] drives allow both the audio data and
  673. the subcode to be retrieved over the bus and manipulated by the host
  674. computer.  Details vary;  see your drive reference manual.
  675. -- 
  676. Dave Platt                                                VOICE: (415) 813-8917
  677.               Domain: dplatt@ntg.com      UUCP: ...netcomsv!ntg!dplatt
  678.  USNAIL: New Technologies Group Inc. 2470 Embarcardero Way, Palo Alto CA 94303
  679.  
  680. ----------------------------------------------------------------------------
  681.  
  682. Changes in version 1.0g from version 1.0e
  683. (version 1.0f was not formally released)
  684.  
  685. - ISRC code display added
  686. - option NJC added
  687. - Hitachi, Teac, Matshita drive types added
  688. - bug in MSCTEST concerning empty buffers fixed
  689.  
  690. Changes in version 1.0e from version 1.0a
  691. (versions 1.0b to 1.0d were not formally released)
  692.  
  693. - UPC code display added for NEC drives
  694. - Toshiba mode select to return the drive to normal operation after
  695.   reading DA frames had a conflict with EZSCSI drivers - this has
  696.   been fixed
  697. - length of WAV file did not always match length contained in header -
  698.   this has been fixed
  699. - added support for the Chinon CDS-535 drive (since I don't have one
  700.   of these drives, this is untested)
  701. - added support for the Plextor 3028/5028 drives (since I don't have one
  702.   of these drives, this is untested)
  703. - there was a bug which on some machines would allocate memory wrong
  704.   when using the /M option, and would fill the file with zeros - this
  705.   has been fixed
  706. - program TOSH_RST was added for users of the Toshiba drives who
  707.   have CDDA exit with a major error.  It resets the drive back to
  708.   normal operation
  709. - there was a bug on some machines that would allow the user to run
  710.   CDDA fine, but the respective test program would fail.  It appeared
  711.   mostly on the SONYTEST and NECTEST programs - this has been fixed
  712. - during running with NEC drives extra debug messages were printed -
  713.   this has been fixed
  714. - the jitter correction routine has been rewritten - CDDA now runs
  715.   about twice as fast as 1.0a did on my machine
  716. - a problem with one version of the Sony rom has a peculiar failure
  717.   which may be corrected by a rewrite of the sector search routine
  718. - a problem with copy permitted discs sometimes required /O in order
  719.   to dump to disk
  720. - when the last track of a disc or the last LBA or the last MSF was
  721.   selected to be dumped, some drives actually only allow reading
  722.   of the second to last frame, and not the last frame.  since there
  723.   is virtually no sound on the last frame of the disc, I have forced
  724.   the program to stop at the next to last frame
  725.  
  726. Known bugs:
  727. - someone has reported the program failing on a very large drive
  728.   with very large amounts of disk space available.  The specific
  729.   example was a 250M drive with 235M free.  It would appear that
  730.   there is a bug in the Borland dfree routines.  I will be looking
  731.   into the problem, except for the fact that my drive is only
  732.   100M, so I can't duplicate it.
  733. - a couple of people have reported that the WAV files created are
  734.   not compatible.  I can't say much except that in one case the
  735.   file size written in the WAV header was incorrect, and I don't know
  736.   why.  I have however found that really large WAV files (>10M) often
  737.   confuse some players.  I have seen a file work correctly on a couple
  738.   of players, and not on others.  My guess is that some players out
  739.   there are not interpreting WAV files correctly, or are not expecting
  740.   very large files.
  741.  
  742. Wish list: (which may or may not get implemented)
  743. - option to play selected range before saving to disk
  744. - have start and end times include offset from beginning of track
  745. - more CD-ROM drives supported
  746.  
  747.